package com.hzy.oms.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 微信订单视图对象 oms_wechat_payment_history
 *
 * @author zengxin
 * @date 2023-10-18
 */
@Data
@ExcelIgnoreUnannotated
public class WechatPaymentHistoryVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long id;

    /**
     * payment_id
     */
    @ExcelProperty(value = "payment_id")
    private String paymentId;

    /**
     * 用户 ID
     */
    @ExcelProperty(value = "用户 ID")
    private Long memberId;

    /**
     * OPENID
     */
    @ExcelProperty(value = "OPENID")
    private String openid;

    /**
     * 真实姓名，提现需要
     */
    @ExcelProperty(value = "真实姓名，提现需要")
    private String realName;

    /**
     * 标题|商品名称
     */
    @ExcelProperty(value = "标题|商品名称")
    private String title;

    /**
     * 订单号 支付时是payId 其他为orderId
     */
    @ExcelProperty(value = "订单号 支付时是payId 其他为orderId")
    private Long orderId;

    /**
     * 金额，单位分
     */
    @ExcelProperty(value = "金额，单位分")
    private BigDecimal money;

    /**
     * 交易类型（1为支付  2为提现  3为退款）
     */
    @ExcelProperty(value = "交易类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=为支付,2=为提现,3=为退款")
    private Integer opType;

    /**
     * 状态（0：未完成交易   1：完成关键交易）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：未完成交易,1=：完成关键交易")
    private Integer paymentStatus;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 附加数据
     */
    @ExcelProperty(value = "附加数据")
    private String attach;

    /**
     * 响应内容
     */
    @ExcelProperty(value = "响应内容")
    private String responseBody;


}
